package controller;

import interfaz.TDAManejoDatos;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.List;

import beans.ComparativaBean;
import beans.EntidadBean;
import beans.ListaDePreciosBean;

public class BusinessDelegate {

	
	private static BusinessDelegate instancia;
	private TDAManejoDatos servicios;

	public BusinessDelegate(){
		try{
			servicios = (TDAManejoDatos) Naming.lookup("//localhost/rmiController");
		}catch(Exception e){
			e.printStackTrace();
		}
	}

	private boolean connect() throws Exception {
		servicios = (TDAManejoDatos) Naming.lookup("//localhost/servicios");
		if (servicios == null)
			return false;
		return true;
	}

	public EntidadBean getCliente(String cuil) throws Exception {
		EntidadBean cb = servicios.buscarCliente(cuil);
		return cb;
	}
	
	public static BusinessDelegate getInstancia(){
		if(instancia == null){
			instancia = new BusinessDelegate();
		}
		return instancia;
		
	}

/*
	public CotizacionBean enviarSolicitudDeCotizacion(SolicitudCotizacionBean solicitud) throws RemoteException,
			Exception {
		CotizacionBean cb = servicios.enviarSolicitudDeCotizacion(solicitud);
		return cb;
	}

	public ArrayList<CotizacionBean> getCotizacionesCliente(int idCliente)
			throws RemoteException, Exception {
		ArrayList<CotizacionBean> cblist = servicios.getCotizacionesCliente(idCliente);
		return cblist;
	}*/

	public List<ComparativaBean> getListaComparativa() throws Exception {
		List<ComparativaBean> lcb = servicios.obtenerComparativaPorRodamiento();
		return lcb;
	}

	public EntidadBean getProveedor(String entidadCuil) throws Exception {
		return servicios.buscarProveedor(entidadCuil);
	}

	public void registrarListaDePrecios(ListaDePreciosBean listaDePrecios) throws Exception {
		servicios.crearListaDePrecio(listaDePrecios);
		
	}
}
